package de.sanguinik.view;
import de.sanguinik.model.HighscoreEntry;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.stage.Stage;
public class HighscoreScreen extends Application {
@Override
public void start(final Stage primaryStage) {
primaryStage.setTitle("Knight of Wor - Highscore");
primaryStage.setResizable(false);
GridPane grid = new GridPane();
grid.setId("highscoreGrid");
grid.setAlignment(Pos.CENTER);
grid.setHgap(30);
grid.setVgap(30);
final Label highscoreTitle = new Label("Highscore");
// highscoreTitle.setFont(new Font("Monospace", 48));
// highscoreTitle.setTextFill(Color.WHITE);
String dummyname = "Horst";
int dummypoints = 9000;
String dummyname2 = "Klaus";
int dummypoints2 = 8300;
final ObservableList<HighscoreEntry> dummyData = FXCollections.observableArrayList(
new HighscoreEntry(dummyname, dummypoints),
new HighscoreEntry(dummyname2, dummypoints2)
);
TableView highscoreTable = new TableView();
highscoreTable.setId("highscoreTable");
TableColumn nameCol = new TableColumn("Name");
nameCol.setMinWidth(150);
nameCol.setCellValueFactory(new PropertyValueFactory<HighscoreEntry, String>("name"));
nameCol.setSortable(false);
nameCol.setResizable(false);
TableColumn scoreCol = new TableColumn("Punkte");
scoreCol.setMinWidth(150);
scoreCol.setCellValueFactory(new PropertyValueFactory<HighscoreEntry, Integer>("score"));
scoreCol.setSortable(false);
scoreCol.setResizable(false);
highscoreTable.setItems(dummyData);
highscoreTable.getColumns().addAll(nameCol, scoreCol);
Button okBtn = new Button();
okBtn.setText("Zurück");
okBtn.setAlignment(Pos.CENTER);
okBtn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent arg0) {
TitleScreen title = new TitleScreen();
title.start(primaryStage);
}
});
grid.add(highscoreTitle, 0,0);
grid.add(highscoreTable, 0,1);
grid.add(okBtn,0,2);
StackPane root = new StackPane();
root.getChildren().add(grid);
Scene scene = new Scene(root, 1024, 740);
scene.getStylesheets().add(TitleScreen.class.getResource("controls.css").toExternalForm());
scene.getStylesheets().add(
Credits.class.getResource("HighscoreScreen.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
}
}